With the development of the Internet technology and the broadband networks, there are increasing numbers of multiparty interactive applications available on the market. Multiparty interactive applications typically enable multiple users to interact in real time. Examples of these applications include videoconferencing, Internet games, distance learning, and the like. The media transmission in these applications is characterized by one-to-many semantics.
Multiparty interactive applications employ communication mechanism in the network layer to manage the transmission of packets between the applications. Typically, only one type of transport protocol is used. For example, a multiparty interactive application may send packets to other applications using Transmission Control Protocol (TCP) mechanisms. TCP is a reliable protocol for controlled message delivery and requires separate connections for each source-destination pair. Thus, exclusively using TCP mechanisms can become cumbersome for an interactive session that involves multiple participants.
The use of user datagram protocol (UDP) may be a quicker way for multiparty interactive applications to send packets to other applications. However, UDP is connectionless and provides very few error recovery services. Thus, UDP is not a desirable transmission mechanism where reliability is a significant requirement.
Multiparty interactive applications may also employ IP multicast to handle data transmission. IP multicast is a method whereby a message can be sent simultaneously to a set of destinations. Unfortunately, IP multicast typically requires specialized routers which understand the protocol and are able to replicate the packets at the appropriate time. So, although IP multicast can be effective in a private network, IP multicast is not practical for nodes in disparate networks to interact in real time over the Internet.